﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using SRP_LibBusinessRules;
using SRP_LibBusinessEntity;
using System.Data;
using System.IO;


namespace SRPCENTRIA.ws_appPrivada
{
    public partial class wManModulo : BasePage
    {
        private DataTable dt = new DataTable();


        protected void Page_Load(object sender, EventArgs e)
        {
            lblError.Visible = false;
            if (!IsPostBack)
            {
                CargarDatos();

            }

        }


        private void CargarDatos()
        {
            try
            {
                NModulo NModulo = new NModulo();

                dt = NModulo.ListarModulo(txtBuscar.Text);
                this.grvDatos.DataSource = dt;
                this.grvDatos.DataBind();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        protected void btnAgregar_Click(object sender, EventArgs e)
        {

            if (txtPadre.Text == ""  || txtPagina.Text == "")
            {
                EscribirScriptManager("Debe ingresar descripción");
                //lblError.Visible = true;
                //lblError.Text = "Debe ingresar todos las descripciones";
            }

            else
            {

                String padre = txtPadre.Text;
                String pagina = txtPagina.Text;
                String estado;


                if (chkEstado.Checked == true)
                {
                    estado = "1";
                }
                else
                {
                    estado = "0";
                }


                NModulo NModulo = new NModulo();

                if (NModulo.InsertarModulo(padre, padre, pagina, estado) == 1)
                {
                    EscribirScriptManager("Módulo insertado con éxito");
                    //lblError.Visible = true;
                    //lblError.Text = "Modulo insertado con éxito";
                }
                else
                {
                    EscribirScriptManager("No se pudo insertar el Módulo");
                    //lblError.Visible = true;
                    //lblError.Text = "No se pudo insertar el Modulo";
                }


                CargarDatos();
                Limpiar();
            }

        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            CargarDatos();
        }

        public void Limpiar()
        {          
            txtPadre.Text = "";
            txtPagina.Text = "";
            chkEstado.Checked = false;
        }

        protected void grvDatos_SelectedIndexChanged(object sender, EventArgs e)
        {

            //CargarDatos();
            //GridViewRow row = grvDatos.SelectedRow;
            //String codigo;
            //codigo = row.Cells[0].Text;
            //hdnCodigo.Value = codigo;

            CargarDatos();
            GridViewRow row = grvDatos.SelectedRow;

            String codigo;
            codigo = dt.Rows[row.DataItemIndex].ItemArray[dt.Columns["IMOD_ID_MODULO"].Ordinal].ToString();
            hdnCodigo.Value = codigo;

            txtPadre.Text = dt.Rows[row.DataItemIndex].ItemArray[dt.Columns["VMOD_NOMBRE_MODULO"].Ordinal].ToString();
            txtPagina.Text = dt.Rows[row.DataItemIndex].ItemArray[dt.Columns["VMOD_URL_IMG"].Ordinal].ToString();


            if (dt.Rows[row.DataItemIndex].ItemArray[dt.Columns["ESTADO"].Ordinal].ToString() == "ACTIVO")
            {
                chkEstado.Checked = true;
            }
            else
            {
                chkEstado.Checked = false;
            }

            //ocultar botón agregar
            btnAgregar.Visible = false;
            //mostrar botón edición
            btnEditar.Visible = true;

        }




        protected void btnEditar_Click(object sender, EventArgs e)
        {


            if (txtPadre.Text == "" || txtPagina.Text == "")
            {
                EscribirScriptManager("Debe ingresar descripción");
                //lblError.Visible = true;
                //lblError.Text = "Debe ingresar una descripción";
            }

            else
            {
                String padre = txtPadre.Text;
                String pagina = txtPagina.Text;
                String estado;


                if (chkEstado.Checked == true)
                {
                    estado = "1";
                }
                else
                {
                    estado = "0";
                }


                NModulo NModulo = new NModulo();

                int codigo = int.Parse(hdnCodigo.Value);

                if (NModulo.EditarModulo(codigo, padre, padre, pagina, estado) == 1)
                {
                    EscribirScriptManager("Módulo actualizado con éxito");
                    //lblError.Visible = true;
                    //lblError.Text = "Módulo actualizado con éxito";
                }
                else
                {
                    EscribirScriptManager("No se pudo actualizar el Módulo");
                    //lblError.Visible = true;
                    //lblError.Text = "No se pudo actualizar el Módulo";
                }



                CargarDatos();
                Limpiar();

                //mostrar botón agregar
                btnAgregar.Visible = true;
                //ocultar botón edición
                btnEditar.Visible = false;

            }
        }

        protected void grvDatos_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            grvDatos.PageIndex = e.NewPageIndex;
            CargarDatos();
        }

    }

}